System and method for conserving power in link aggregation groups

ABSTRACT

A system and method of reducing power consumption in a network switching unit includes detecting whether conditions are suitable for reducing power consumption in a first network switching unit. The first network switching unit includes a link aggregation group (LAG) and a plurality of communication ports, each communication port configured to couple the first network switching unit to a second network switching unit using a corresponding network link selected from a plurality of network links, and wherein the plurality of network links are assigned to the LAG. The system and method further includes requesting network link deactivation by sending a link deactivation request to the second network switching unit, determining whether the link deactivation request is approved, determining a first network link selected from the plurality of network links to deactivate, deactivating the first network link from use by the LAG, and reducing power supplied to the first network link.

BACKGROUND

The present disclosure relates generally to conserving power in linkaggregation groups.

As the value and use of information continues to increase, individualsand businesses seek additional ways to process and store information.One option is an information handling system (IHS). An IHS generallyprocesses, compiles, stores, and/or communicates information or data forbusiness, personal, or other purposes. Because technology andinformation handling needs and requirements may vary between differentapplications, IHSs may also vary regarding what information is handled,how the information is handled, how much information is processed,stored, or communicated, and how quickly and efficiently the informationmay be processed, stored, or communicated. The variations in IHSs allowfor IHSs to be general or configured for a specific user or specific usesuch as financial transaction processing, airline reservations,enterprise data storage, or global communications. In addition, IHSs mayinclude a variety of hardware and software components that may beconfigured to process, store, and communicate information and mayinclude one or more computer systems, data storage systems, andnetworking systems.

Additionally, some embodiments of information handling systems includenon-transient, tangible machine-readable media that include executablecode that when run by one or more processors, may cause the one or moreprocessors to perform the steps of methods described herein. Some commonforms of machine readable media include, for example, floppy disk,flexible disk, hard disk, magnetic tape, any other magnetic medium,CD-ROM, any other optical medium, punch cards, paper tape, any otherphysical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM,any other memory chip or cartridge, and/or any other medium from which aprocessor or computer is adapted to read.

Computer networks form the interconnection fabric that enables reliableand rapid communications between computer systems and data processorsthat are both in close proximity to each other and at distant locations.These networks create a vast spider web of intranets and internets forhandling all types of communication and information. Making all of thispossible is a vast array of network switching products that make routingdecisions in order to deliver packets of information from a sourcesystem or first network node to a destination system or second networknode. Due to the size, complexity, and dynamic nature of these networks,sophisticated network switching products are often required to implementthe interconnection fabric. This can be further complicated throughother networking trends such as network virtualization.

Many networks utilize parallelization and other techniques to improvethe routing function between two network nodes. By employingparallelization, redundancy is built into a network so that it ispossible that more than one path exists between any two nodes. Thisprovides suitably aware network switching products with the ability toselect between the redundant paths to avoid network congestion, balancenetwork loads, and/or to avoid failures in the network. Parallelizationalso provides the ability to handle more network traffic between twonodes than is possible when parallelization is not utilized. In someimplementations the parallelization is treated in a more formalizedfashion in the form of link aggregation groups (LAGs), in which multiplenetwork links are often bundled into a group to support theparallelization function. For suitably aware network switching products,the LAG can offer a flexible option to select any of the network linksin the LAG for routing network traffic towards the next node in the pathtowards the traffic's final destination. And while LAGs offer additionalflexibility in network topologies, they may also add complexity to therouting function and management of the network switching products towhich they are attached. And as each network link added to a LAG mayincrease the quantity of network traffic that can be handled by the LAG,it may also add to the power consumption of both network switchingproducts associated with the network link.

Accordingly, it would be desirable to provide improved network switchingproducts that can dynamically activate and deactivate network linkswithin a LAG to reduce the power consumption of the associated networkswitching products.

SUMMARY

According to one embodiment, a method of reducing power consumption in anetwork switching unit includes detecting whether conditions aresuitable for reducing power consumption in a first network switchingunit. The first network switching unit includes a link aggregation group(LAG) and a plurality of communication ports, each communication portconfigured to couple the first network switching unit to a secondnetwork switching unit using a corresponding network link selected froma plurality of network links, and wherein the plurality of network linksare assigned to the LAG. The method further includes requesting networklink deactivation by sending a link deactivation request to the secondnetwork switching unit, determining whether the link deactivationrequest is approved, determining a first network link selected from theplurality of network links to deactivate, deactivating the first networklink from use by the LAG, and reducing power supplied to the firstnetwork link.

According to another embodiment, a method of reducing power consumptionin a network switching unit includes receiving a link deactivationrequest by a first network switching unit from a second networkswitching unit. The first network switching unit includes a linkaggregation group (LAG) and a plurality of communication ports, eachcommunication port configured to couple the first network switching unitto the second network switching unit using a corresponding network linkselected from a plurality of network links, and wherein the plurality ofnetwork links are assigned to the LAG. The method further includesdetermining whether the link deactivation request is acceptable, inresponse to determining that the link deactivation request is notacceptable, denying the link deactivation request, in response todetermining that the link deactivation request is acceptable, confirmingthe link deactivation request, determining a first network link selectedfrom the plurality of network links to deactivate, deactivating thefirst network link from use by the LAG, and reducing power supplied tothe first network link.

According to yet another embodiment, an information handling systemincludes a first network switching unit. The first network switchingunit includes a link aggregation group (LAG) and a plurality ofcommunication ports, each communication port configured to couple thefirst network switching unit to a second network switching unit using acorresponding network link selected from a plurality of network links,and wherein the plurality of network links are assigned to the LAG. Thefirst network switching unit is configured to detect whether conditionsare suitable for reducing power consumption, request network linkdeactivation by sending a link deactivation request to the secondnetwork switching unit, determine whether the link deactivation requestis approved, determine a first network link selected from the pluralityof network links to deactivate, deactivate the first network link fromuse by the LAG, and reduce power supplied to the first network link.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 a shows a simplified diagram of a network according to someembodiments.

FIG. 1 b shows a simplified diagram of the network with a network linkdeactivated according to some embodiments.

FIG. 2 shows a simplified diagram of a method of reducing powerconsumption in a network switching unit according to some embodiments.

FIG. 3 is a simplified diagram of a method of reducing power consumptionin a network switching unit according to some embodiments.

FIG. 4 is a simplified diagram of a method of activating a network linkin a network switching unit according to some embodiments.

FIG. 5 is a simplified diagram of a method of activating a network linkin a network switching unit according to some embodiments.

FIG. 6 is a simplified diagram of an extension to an actor and a partnerstate of a LACP data unit (LACPDU) according to some embodiments.

In the figures, elements having the same designations have the same orsimilar functions.

DETAILED DESCRIPTION

In the following description, specific details are set forth describingsome embodiments consistent with the present disclosure. It will beapparent, however, to one skilled in the art that some embodiments maybe practiced without some or all of these specific details. The specificembodiments disclosed herein are meant to be illustrative but notlimiting. One skilled in the art may realize other elements that,although not specifically described here, are within the scope and thespirit of this disclosure. In addition, to avoid unnecessary repetition,one or more features shown and described in association with oneembodiment may be incorporated into other embodiments unlessspecifically described otherwise or if the one or more features wouldmake an embodiment non-functional.

For purposes of this disclosure, an IHS may include any instrumentalityor aggregate of instrumentalities operable to compute, classify,process, transmit, receive, retrieve, originate, switch, store, display,manifest, detect, record, reproduce, handle, or utilize any form ofinformation, intelligence, or data for business, scientific, control,entertainment, or other purposes. For example, an IHS may be a personalcomputer, a PDA, a consumer electronic device, a display device ormonitor, a network server or storage device, a switch router or othernetwork communication device, or any other suitable device and may varyin size, shape, performance, functionality, and price. The IHS mayinclude memory, one or more processing resources such as a centralprocessing unit (CPU) or hardware or software control logic. Additionalcomponents of the IHS may include one or more storage devices, one ormore communications ports for communicating with external devices aswell as various input and output (I/O) devices, such as a keyboard, amouse, and a video display. The IHS may also include one or more busesoperable to transmit communications between the various hardwarecomponents.

FIG. 1 a shows a simplified diagram of a network 100 according to someembodiments. As shown in FIG. 1 a, the network 100 may include a networkswitching unit 110 and a network switching unit 120. The networkswitching unit 110 may include one or more communication ports 131-133.Each of the one or more communication ports 131-133 may be coupled to acorresponding one of one or more network links 141-143. Communicationport 131 may be coupled to network link 141, communication port 132 maybe coupled to network link 142, and communication port 133 may becoupled to network link 143. The network switching unit 120 may includeone or more communication ports 151-153. Each of the one or morecommunication ports 151-153 may be coupled to a corresponding one of theone or more network links 141-143. Communication port 151 may be coupledto network link 141, communication port 152 may be coupled to networklink 142, and communication port 153 may be coupled to network link 143.

Network switching unit 110 may route network traffic to networkswitching unit 120 by sending it to any one of the communication ports131-133 where it is sent on the corresponding one of the network links141-143 toward network switching unit 120. Similarly, network switchingunit 120 may route network traffic to network switching unit 110 bysending it to any one of the communication ports 151-153 where it issent on the corresponding one of the network links 141-143 towardnetwork switching unit 110. Thus, the network links 141-143 can provideparallel and alternative network paths between the network switchingunit 110 and the network switching unit 120. The parallel nature of thenetwork links 141-143 may be formalized in each of the network switchingunits 110 and 120 through the use of link aggregation groups. Networkswitching unit 110 may group the network links 141-143 into a LAG 161.When network switching unit 110 desires to route network traffic tonetwork switching unit 120 it may route the network traffic using LAG161, leaving the decision of which of the network links 141-143 andcorresponding communication ports 131-133 to use to a LAG hashingalgorithm. Similarly, network switching unit 120 may group the networklinks 141-143 into a LAG 162. When network switching unit 120 desires toroute network traffic to network switching unit 110 it may route thenetwork traffic using LAG 162.

Because network utilization may change based on the amount of networktraffic being routed and/or the source(s) and destination(s) of thenetwork traffic, the amount of network traffic that needs to be handledby network links 141-143 may increase or decrease. A network designermay generally choose the number of parallel network links 141-143between the network switches 110 and 120 based on an expected maximumtraffic load to reduce a potential for a loss of network traffic.However, there may be times when the actual traffic load being handledby network links 141-143 may be significantly less than the expectedmaximum traffic load or even non-existent. A ratio of the actual trafficload to a maximum traffic load that can be handled by a LAG is oftenreferred to as the utilization for the LAG. A low utilization mayindicate a low traffic load and a high utilization may indicate a hightraffic load. In some embodiments, where there is an extended period oftime where the utilization is low, it may be advantageous to deactivateone or more of the network links in a LAG to reduce power consumption.In some embodiments, it may be advantageous to reduce power consumptionin the LAG for other reasons. In some embodiments, power consumption maybe reduced to lower a need for heat dissipation and to lower thetemperature of the network switching units 110 and 120. In someembodiments, power consumption may be reduced to lower a peak powerdemand. In some embodiments, power consumption may be reduced based on atime of day.

FIG. 1 b shows a simplified diagram of the network 100 with the networklink 143 deactivated according to some embodiments. As shown in FIG. 1b, the network link 143 has been deactivated to reduce, for example,power consumption. Network traffic may now only move between the networkswitching units 110 and 120 using network links 141 and 142. Networklink 143 may also be deactivated for use in LAGs 161 and 162 so that theLAG hashing algorithms of network switching units 110 and 120 will notroute network traffic using network link 143. Because network link 143is deactivated, network switching unit 110 may reduce or remove powerfrom network link 143. In some embodiments, network switching unit 110may also reduce or remove power from communication port 133. In someembodiments, network switching unit 110 may also reduce or remove powerfrom other circuitry associated with communication port 133 and/ornetwork link 143. Network switching unit 120 may similarly reduce orremove power from network link 143, communication port 153, and/or othercircuitry associated with communication port 153 and/or network link143. Thus, the overall power consumption of the network switching units110 and 120, as well as the network 100 may be reduced.

As discussed above and further emphasized here, FIGS. 1 a and 1 b aremerely examples, which should not unduly limit the scope of the claims.One of ordinary skill in the art would recognize many variations,alternatives, and modifications. According to some embodiments, theremay be fewer than three or more than three network links 141-143coupling the network switching units 110 and 120.

FIG. 2 shows a simplified diagram of a method 200 of reducing powerconsumption in a network switching unit according to some embodiments.As shown in FIG. 2, the method 200 includes a process 210 for detectingpower conservation conditions, a process 220 for requesting network linkdeactivation, a process 230 for receiving a response to the request, aprocess 240 for determining whether the request was confirmed, a process250 for negotiating a network link to deactivate, a process 260 fordeactivating the network link from use by a LAG, and a process 270 forreducing the network link power. According to certain embodiments, themethod 200 of reducing power consumption in a network switching unit canbe performed using variations among the processes 210-270 as would berecognized by one of ordinary skill in the art. According to someembodiments, the process 230 is optional and may be omitted. In someembodiments, one or more of the processes 210-270 may be implemented, atleast in part, in the form of executable code stored on non-transient,tangible, machine readable media that when run by one or more processorsin one or more network switching units (e.g., the network switchingunits 110 and/or 120) may cause the one or more processors to performone or more of the processes 210-270.

At the process 210, a network switching unit (e.g., the networkswitching unit 110 and/or 120) may detect whether network conditions aresuitable for reducing power consumption on one of the network switchingunit's LAGs (e.g., the LAG 161 and/or 162). According to someembodiments, power consumption may be reduced when a utilization of theLAG falls below a minimum utilization threshold for a period of time. Insome embodiments, the minimum utilization threshold may be 10% or lower.In some embodiments, the minimum utilization threshold may be 20% orlower. In some embodiments, the minimum utilization threshold may be setas part of the configuration of the network switching unit. In someembodiments, the minimum utilization threshold may be set using aconfiguration utility. In some embodiments, the minimum utilizationthreshold may be stored in one or more memory devices (e.g., ROM, RAM,PROM, EPROM, FLASH-EPROM, and/or any other memory chip or cartridge)coupled to the network switching unit. In some embodiments, the minimumutilization threshold may be dynamic based on a time of day and/or othernetwork settings and/or conditions. In some embodiments, the period oftime may be as short as a second or less. In some embodiments, theperiod of time may be as short as a minute or less. In some embodiments,the period of time may be 5-10 minutes or more in length. In someembodiments, the period of time may be set as part of the configurationof the network switching unit. In some embodiments, the period of timemay be set using a configuration utility. In some embodiments, theperiod of time may be stored in one or more memory devices (e.g., ROM,RAM, PROM, EPROM, FLASH-EPROM, and/or any other memory chip orcartridge) coupled to the network switching unit. In some embodiments,the period of time may be dynamic based on a time of day and/or othernetwork settings and/or conditions.

According to some embodiments, power consumption may be reduced when atemperature of the network switching unit exceeds a maximum temperaturethreshold. In some embodiments, the maximum temperature threshold may be70 degrees centigrade or higher. In some embodiments, the maximumtemperature threshold may be 85 degrees centigrade or higher. In someembodiments, the maximum temperature threshold may be 125 degreescentigrade or higher. In some embodiments, the maximum temperaturethreshold may be set as part of the configuration of the networkswitching unit. In some embodiments, the maximum temperature thresholdmay be set using a configuration utility. In some embodiments, themaximum temperature threshold may be stored in one or more memorydevices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/or any othermemory chip or cartridge) coupled to the network switching unit. In someembodiments, the maximum temperature threshold may be dynamic based on atime of day and/or other network settings and/or conditions.

According to some embodiments, power consumption may be reduced based ona time of day.

According to some embodiments, power consumption may be reduced based onone or more of the factors described above. In some embodiments, anylogical and/or temporal combination of the one or more factors may beconsidered.

At the process 220, the network switching unit makes a request for linkdeactivation. According to some embodiments, the network switching unitmay select a LAG (e.g., the LAG of process 210 whose utilization isbelow the minimum utilization threshold). In some embodiments, thenetwork switching unit may send a network link deactivation message to aneighboring network switching unit (e.g., the network switching unit 120and/or 110) using one of the network links (e.g., the network links140-143) in the LAG. In some embodiments, the link deactivation messagemay ask the neighboring network switching unit whether it is willing todeactivate one of their shared network links.

At the optional process 230, the network switching unit receives aresponse to the link deactivation request. According to someembodiments, the network switching unit may receive a response messageon one of the network links in the LAG. In some embodiments, theresponse message may include information indicating whether theneighboring network switching unit is willing to deactivate one of theirshared network links.

At the process 240, the network switching unit may determine whether thenetwork link deactivation request is confirmed. According to someembodiments, the network switching unit examines the response message.According to some embodiments, the network deactivation request may notbe confirmed when no response message is received. In some embodiments,the network deactivation request may not be confirmed when a responsemessage is not received during a timeout period following the making ofthe deactivation request. In some embodiments, the timeout period isseveral milliseconds. In some embodiments, the timeout period is asecond or longer. In some embodiments, the timeout period may be set aspart of the configuration of the network switching unit. In someembodiments, the timeout period may be set using a configurationutility. In some embodiments, the timeout period may be stored in one ormore memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/orany other memory chip or cartridge) coupled to the network switchingunit. In some embodiments, the timeout period may be dynamic based on atime of day and/or other network settings and/or conditions. If thenetwork switching unit determines that the network link deactivationrequest has not been confirmed, the method 200 returns to process 210.

At the process 250, the network switching unit and the neighboringnetwork switching unit may negotiate which network link should bedeactivated. According to some embodiments, the network link is selectedbased on a mutually agreed upon criteria. In some embodiments, thenetwork link, from among the active network links, with a largest IDnumber is selected. In some embodiments, the network link, from amongthe active network links, with a smallest ID number is selected.According to some embodiments, the network switching unit and theneighboring switching unit may exchange one or more negotiation messagesto determine the network link to deactivate.

At the process 260, the network switching unit may deactivate thenetwork link from use by the LAG. According to some embodiments, thenetwork link may be removed from consideration by a LAG hashingalgorithm used to select from among the network links associated withthe LAG.

At the process 270, the network switching unit may reduce power providedto the network link. According to some embodiments, the networkswitching unit may reduce some power or remove all power to the networklink. According to some embodiments, the network switching unit mayreduce or remove power from a communication port (e.g., one of thecommunication ports 131-133 and/or 151-153) corresponding to the networklink. According to some embodiments, the network switching unit may alsoreduce or remove power from other circuitry associated with thecommunication port and/or the network link.

As discussed above and further emphasized here, FIG. 2 is merely anexample, which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. According to some embodiments, upon completion of theprocess 270, the method 200 may return to process 210 to determinewhether one or more additional network links may be deactivated.

FIG. 3 is a simplified diagram of a method 300 of reducing powerconsumption in a network switching unit according to some embodiments.As shown in FIG. 3, the method 300 includes a process 310 for receivinga network link deactivation request, a process 320 for determiningwhether deactivation of a network link is acceptable, a process 330 fordenying the request, a process 340 for confirming the request, a process350 for negotiating a network link to deactivate, a process 360 fordeactivating the network link from use by a LAG, and a process 370 forreducing the network link power. According to certain embodiments, themethod 300 of reducing power consumption in a network switching unit canbe performed using variations among the processes 310-370 as would berecognized by one of ordinary skill in the art. According to someembodiments, the process 330 is optional and may be omitted. In someembodiments, one or more of the processes 310-370 may be implemented, atleast in part, in the form of executable code stored on non-transient,tangible, machine readable media that when run by one or more processorsin one or more network switching units (e.g., the network switchingunits 110 and/or 120) may cause the one or more processors to performone or more of the processes 310-370.

At the process 310, a network switching unit (e.g., the networkswitching unit 110 and/or 120) may receive a network link deactivationrequest. In some embodiments, the network link deactivation request maybe the network link deactivation request from process 220. In someembodiments, the network link deactivation request may be in the form ofa network link deactivation message sent by a neighboring networkswitching unit (e.g., the network switching unit 120 and/or 110) usingone of the network links (e.g., the network links 140-143) in a LAG(e.g., the LAG 162 and/or 161).

At the process 320, the network switching unit determines whetherdeactivation of a network link is acceptable. According to someembodiments, the network switching unit may make its determination usingone or more factors similar to the one or more factors used in theprocess 210 to detect whether network conditions are suitable forreducing power consumption. In some embodiments, the network switchingunit may consider a utilization of the LAG. In some embodiments, thenetwork switching unit may consider a temperature of the networkswitching unit. In some embodiments, the network switching unit mayconsider a time of day. In some embodiments, any logical and/or temporalcombination of the one or more factors may be considered. According tosome embodiments, the network switching unit may recognize that it hasnetwork traffic to route to the neighboring network switching unit thatthe neighboring network switching may not have been able to considerwhen it made the network link deactivation request. If the networkswitching unit determines that deactivation of a network link is notacceptable, the method 300 moves to process 330. Otherwise, the method300 moves to process 340.

At the optional process 330, the network switching unit denies thedeactivation request. According to some embodiments, the networkswitching unit may send a response message on one of the network linksin the LAG. In some embodiments, the response message may includeinformation indicating that the network switching unit is not willing todeactivate one of its network links. In some embodiments, the responsemessage may be the response received by the neighboring networkswitching device in process 230.

At the process 340, the network switching unit confirms the deactivationrequest. According to some embodiments, the network switching unit maysend a response message on one of the network links in the LAG. In someembodiments, the response message may include information indicatingthat the network switching unit is willing to deactivate one of itsnetwork links. In some embodiments, the response message may be theresponse received by the neighboring network switching device in process230.

At the process 350, the network switching unit and the neighboringnetwork switching unit may negotiate which network link should bedeactivated. According to some embodiments, the network link is selectedbased on a mutually agreed upon criteria. In some embodiments, thenetwork link, from among the active network links, with a largest IDnumber is selected. In some embodiments, the network link, from amongthe active network links, with a smallest ID number is selected.According to some embodiments, the network switching unit and theneighboring switching unit may exchange one or more negotiation messagesto determine the network link to deactivate. According to someembodiments, the selected network link is the same network link selectedin process 250.

At the process 360, the network switching unit may deactivate thenetwork link from use by the LAG. According to some embodiments, thenetwork link may be removed from consideration by a LAG hashingalgorithm used to select from among the network links associated withthe LAG.

At the process 370, the network switching unit may reduce power providedto the network link. According to some embodiments, the networkswitching unit may reduce some power or remove all power to the networklink. According to some embodiments, the network switching unit mayreduce or remove power from a communication port (e.g., one of thecommunication ports 151-153 and/or 131-133) corresponding to the networklink. According to some embodiments, the network switching unit may alsoreduce or remove power from other circuitry associated with thecommunication port and/or the network link.

As discussed above and further emphasized here, FIG. 3 is merely anexample, which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. According to some embodiments, upon completion of theprocess 370, the method 300 may return to process 310 to wait foranother network link deactivation request. According to someembodiments, upon completion of the process 370, the method 300 mayswitch to process 210 of method 200 to detect whether network conditionsare suitable for reducing power consumption on one of the networkswitching unit's LAGs.

FIG. 4 is a simplified diagram of a method 400 of activating a networklink in a network switching unit according to some embodiments. As shownin FIG. 4, the method 400 includes a process 410 for detecting an end ofpower conservation conditions, a process 420 for requesting network linkactivation, a process 430 for receiving a response to the request, aprocess 440 for determining whether the request was confirmed, a process450 for negotiating a network link to activate, a process 460 forreturning the network link power, and a process 470 for activating thenetwork link for use by a LAG. According to certain embodiments, themethod 400 of activating a network link in a network switching unit canbe performed using variations among the processes 410-470 as would berecognized by one of ordinary skill in the art. According to someembodiments, the process 430 is optional and may be omitted. In someembodiments, one or more of the processes 410-470 may be implemented, atleast in part, in the form of executable code stored on non-transient,tangible, machine readable media that when run by one or more processorsin one or more network switching units (e.g., the network switchingunits 110 and/or 120) may cause the one or more processors to performone or more of the processes 410-470.

At the process 410, a network switching unit (e.g., the networkswitching unit 110 and/or 120) may detect an end of power conservationconditions. According to some embodiments, the process 410 may onlyoccur when one or more of the network links (e.g., the network links141-143) of a LAG (e.g., the LAG 161 and/or 162) are deactivated. Insome embodiments, the one or more network links may have beendeactivated by the method 200 and/or the method 300. According to someembodiments, the end of power conservation conditions may indicate thatnetwork conditions suggest that additional network links should beactivated in the LAG. According to some embodiments, the end of powerconservation conditions may occur when a utilization of the LAG risesabove a maximum utilization threshold for a period of time. In someembodiments, the maximum utilization threshold may be 80% or higher. Insome embodiments, the maximum utilization threshold may be 60% orhigher. In some embodiments, the maximum utilization threshold may beset as part of the configuration of the network switching unit. In someembodiments, the maximum utilization threshold may be set using aconfiguration utility. In some embodiments, the maximum utilizationthreshold may be stored in one or more memory devices (e.g., ROM, RAM,PROM, EPROM, FLASH-EPROM, and/or any other memory chip or cartridge)coupled to the network switching unit. In some embodiments, the maximumutilization threshold may be dynamic based on a time of day and/or othernetwork settings and/or conditions. In some embodiments, the period oftime may be as short as a second or less. In some embodiments, theperiod of time may be as short as a minute or less. In some embodiments,the period of time may be 5-10 minutes or more in length. In someembodiments, the period of time may be set as part of the configurationof the network switching unit. In some embodiments, the period of timemay be set using a configuration utility. In some embodiments, theperiod of time may be stored in one or more memory devices (e.g., ROM,RAM, PROM, EPROM, FLASH-EPROM, and/or any other memory chip orcartridge) coupled to the network switching unit. In some embodiments,the period of time may be dynamic based on a time of day and/or othernetwork settings and/or conditions.

According to some embodiments, the end of power conservation conditionsmay occur when a temperature of the network switching unit drops below aminimum temperature threshold. In some embodiments, the minimumtemperature threshold may be 100 degrees centigrade or lower. In someembodiments, the minimum temperature threshold may be 65 degreescentigrade or lower. In some embodiments, the minimum temperaturethreshold may be 40 degrees centigrade or higher. In some embodiments,the minimum temperature threshold may be set as part of theconfiguration of the network switching unit. In some embodiments, theminimum temperature threshold may be set using a configuration utility.In some embodiments, the minimum temperature threshold may be stored inone or more memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM,and/or any other memory chip or cartridge) coupled to the networkswitching unit. In some embodiments, the minimum temperature thresholdmay be dynamic based on a time of day and/or other network settingsand/or conditions.

According to some embodiments, the end of power conservation conditionsmay occur based on a time of day.

According to some embodiments, the end of power conservation conditionsmay occur based on one or more of the factors described above. In someembodiments, any logical and/or temporal combination of the one or morefactors may be considered.

At the process 420, the network switching unit makes a request for linkactivation. According to some embodiments, the network switching unitmay select a LAG (e.g., the LAG of process 410 whose utilization isabove the maximum utilization threshold). In some embodiments, thenetwork switching unit may send a network link activation message to aneighboring network switching unit (e.g., the network switching unit 120and/or 110) using one of the network links (e.g., the network links140-143) in the LAG. In some embodiments, the link activation messagemay ask the neighboring network switching unit whether it is willing toactivate one of their shared network links.

At the optional process 430, the network switching unit receives aresponse to the link activation request. According to some embodiments,the network switching unit may receive a response message on one of thenetwork links in the LAG. In some embodiments, the response message mayinclude information indicating whether the neighboring network switchingunit is willing to activate one of their shared network links.

At the process 440, the network switching unit may determine whether thenetwork link activation request is confirmed. According to someembodiments, the network switching unit examines the response message.According to some embodiments, the network activation request may not beconfirmed when no response message is received. In some embodiments, thenetwork deactivation request may not be confirmed when a responsemessage is not received during a timeout period following the making ofthe activation request. In some embodiments, the timeout period isseveral milliseconds. In some embodiments, the timeout period is asecond or longer. In some embodiments, the timeout period may be set aspart of the configuration of the network switching unit. In someembodiments, the timeout period may be set using a configurationutility. In some embodiments, the timeout period may be stored in one ormore memory devices (e.g., ROM, RAM, PROM, EPROM, FLASH-EPROM, and/orany other memory chip or cartridge) coupled to the network switchingunit. In some embodiments, the timeout period may be dynamic based on atime of day and/or other network settings and/or conditions. If thenetwork switching unit determines that the network link activationrequest has not been confirmed, the method 400 returns to process 410.

At the process 450, the network switching unit and the neighboringnetwork switching unit may negotiate which network link should beactivated. According to some embodiments, the network link is selectedbased on a mutually agreed upon criteria. In some embodiments, thenetwork link, from among the deactivated network links, with a largestID number is selected. In some embodiments, the network link, from amongthe deactivated network links, with a smallest ID number is selected.According to some embodiments, the network switching unit and theneighboring switching unit may exchange one or more negotiation messagesto determine the network link to activate. According to someembodiments, when only one network link in the LAG is deactivated, itmay be selected by default.

At the process 460, the network switching unit may return power to thenetwork link. According to some embodiments, the network switching unitmay return power to a communication port (e.g., one of the communicationports 131-133 and/or 151-153) corresponding to the network link.According to some embodiments, the network switching unit may alsoreturn power to other circuitry associated with the communication portand/or the network link.

At the process 470, the network switching unit may activate the networklink for use by the LAG. According to some embodiments, the network linkmay be added to consideration by a LAG hashing algorithm used to selectfrom among the network links associated with the LAG.

As discussed above and further emphasized here, FIG. 4 is merely anexample, which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. According to some embodiments, upon completion of theprocess 470, the method 400 may return to process 410 to determinewhether one or more additional network links may be activated. Accordingto some embodiments, upon completion of the process 470, the method mayswitch to method 200 and/or 300 when a reduction in power consumption isdesired.

FIG. 5 is a simplified diagram of a method 500 of activating a networklink in a network switching unit according to some embodiments. As shownin FIG. 5, the method 500 includes a process 510 for receiving a networklink activation request, a process 520 for determining whetheractivation of a network link is acceptable, a process 530 for denyingthe request, a process 540 for confirming the request, a process 550 fornegotiating a network link to activate, a process 560 for returning thenetwork link power, and a process 570 for activating the network linkfor use by a LAG. According to certain embodiments, the method 500 ofreducing power consumption in a network switching unit can be performedusing variations among the processes 510-570 as would be recognized byone of ordinary skill in the art. According to some embodiments, theprocess 530 is optional and may be omitted. In some embodiments, one ormore of the processes 510-570 may be implemented, at least in part, inthe form of executable code stored on non-transient, tangible, machinereadable media that when run by one or more processors in one or morenetwork switching units (e.g., the network switching units 110 and/or120) may cause the one or more processors to perform one or more of theprocesses 510-570.

At the process 510, a network switching unit (e.g., the networkswitching unit 110 and/or 120) may receive a network link activationrequest. In some embodiments, the network link activation request may bethe network link activation request from process 420. In someembodiments, the network link activation request may be in the form of afrom a network link activation message sent by a neighboring networkswitching unit (e.g., the network switching unit 120 and/or 110) usingone of the network links (e.g., the network links 140-143) in a LAG(e.g., the LAG 162 and/or 161).

At the process 520, the network switching unit determines whetheractivation of a network link is acceptable. According to someembodiments, the network switching unit may make its determination usingone or more factors similar to the one or more factors used in theprocess 410 to detect whether network conditions are suitable foractivating a network link. In some embodiments, the network switchingunit may consider a utilization of the LAG. In some embodiments, thenetwork switching unit may consider a temperature of the networkswitching unit. In some embodiments, the network switching unit mayconsider a time of day. In some embodiments, any logical and/or temporalcombination of the one or more factors may be considered. According tosome embodiments, the network switching unit may have an elevatedtemperature that does not permit activation of a network link. If thenetwork switching unit determines that activation of a network link isnot acceptable, the method 500 moves to process 530. Otherwise, themethod 500 moves to process 540.

At the optional process 530, the network switching unit denies theactivation request. According to some embodiments, the network switchingunit may send a response message on one of the network links in the LAG.In some embodiments, the response message may include informationindicating that the network switching unit is not willing to activateone of its network links. In some embodiments, the response message maybe the response received by the neighboring network switching device inprocess 430.

At the process 540, the network switching unit confirms the activationrequest. According to some embodiments, the network switching unit maysend a response message on one of the network links in the LAG. In someembodiments, the response message may include information indicatingthat the network switching unit is willing to activate one of itsnetwork links. In some embodiments, the response message may be theresponse received by the neighboring network switching device in process430.

At the process 550, the network switching unit and the neighboringnetwork switching unit may negotiate which network link should beactivated. According to some embodiments, the network link is selectedbased on a mutually agreed upon criteria. In some embodiments, thenetwork link, from among the deactivated network links, with a largestID number is selected. In some embodiments, the network link, from amongthe deactivated network links, with a smallest ID number is selected.According to some embodiments, the network switching unit and theneighboring switching unit may exchange one or more negotiation messagesto determine the network link to activate. According to someembodiments, when only one network link in the LAG is deactivated, itmay be selected by default. According to some embodiments, the selectednetwork link is the same network link selected in process 450.

At the process 560, the network switching unit may return power to thenetwork link. According to some embodiments, the network switching unitmay return power to a communication port (e.g., one of the communicationports 151-153 and/or 131-133) corresponding to the network link.According to some embodiments, the network switching unit may alsoreturn power to other circuitry associated with the communication portand/or the network link.

At the process 570, the network switching unit may activate the networklink for use by the LAG. According to some embodiments, the network linkmay be added to consideration by a LAG hashing algorithm used to selectfrom among the network links associated with the LAG.

As discussed above and further emphasized here, FIG. 5 is merely anexample, which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. According to some embodiments, upon completion of theprocess 570, the method 500 may return to process 510 to wait foranother network link activation request. According to some embodiments,upon completion of the process 570, the method 500 may switch to process410 of method 400 to detect whether network conditions are suitable foractivating another network link. According to some embodiments, uponcompletion of the process 570, the method may switch to method 200and/or 300 when a reduction in power consumption is desired.

According to certain embodiments the methods 200, 300, 400, and/or 500may be implemented using an extension to the Link Aggregation ControlProtocol (LACP) as described in the IEEE 802.1AX standard. FIG. 6 is asimplified diagram of an extension 600 to an actor and a partner stateof a LACP data unit (LACPDU) according to some embodiments. As shown inFIG. 6, the extension 600 to the actor and/or partner state includes aconserve power bit 610 with the remaining bits 620 being reserved forother uses. The conserve power bit 610 may be used to designate whethera network switching unit (e.g., the actor or the partner) is willing toactivate and/or deactivate a network link. According to someembodiments, a conserve power value of the conserve power bit 610 mayindicate a willingness to deactivate a network link and a normal powervalue of the conserve power bit 610 may indicate an unwillingness todeactivate a network link. In some embodiments, the conserve power valuemay be a logic 1 and the normal power value may be a logic 0.

According to some embodiments, the extension 600 to the actor andpartner state may be used in the method 200. At the process 220, thenetwork switching unit (i.e., the actor) may format and send a LACPDUwith the actor state extension 600 containing the conserve power valuefor the conserve power bit 610. By sending the LACPDU with the conservepower bit 610 set to the conserve power value, the network switchingunit indicates that it desires a reduction in power. At the process 230,the network switching unit may receive a LACPDU from the neighboringnetwork switching unit (i.e., the partner) with the partner stateextension 600. When the partner state extension 600 includes theconserve power value for the conserve power bit 610, the networkswitching unit may determine that the deactivation request is confirmedduring process 240. When the partner state extension 600 includes thenormal power value for the conserve power bit 610, the network switchingunit may determine that the deactivation request is not confirmed duringprocess 240. At the process 260, the network switching unit maydeactivate the network link from use by the LAG by changing a state ofthe selected network link and/or the corresponding communication portfrom NORMAL to STANDBY.

According to some embodiments, the extension 600 to the actor andpartner state may be used in the method 300. At the process 310, thenetwork switching unit (i.e., the partner) may receive a LACPDU from theneighboring network switching unit (i.e., the actor) with the actorstate extension 600 containing the conserve power value for the conservepower bit 610, thus making a link deactivation request. The networkswitching unit may respond to the link deactivation request byresponding with a LACPDU containing a partner state extension 600. Bysending the conserve power value as the conserve power bit 610, thenetwork switching unit may confirm the link deactivation request inprocess 340. By sending the normal power value as the conserve power bit610, the network switching unit may deny the link deactivation requestin process 330. At the process 360, the network switching unit maydeactivate the network link from use by the LAG by changing the state ofthe selected network link and/or the corresponding communication portfrom NORMAL to STANDBY.

According to some embodiments, the extension 600 to the actor andpartner state may be used in the method 400. At the process 420, thenetwork switching unit (i.e., the actor) may format and send a LACPDUwith the actor state extension 600 containing the normal power value forthe conserve power bit 610. By sending the LACPDU with the conservepower bit 610 set to the normal power value, the network switching unitindicates that it desires to activate a network link. At the process430, the network switching unit may receive a LACPDU from theneighboring network switching unit (i.e., the partner) with the partnerstate extension 600. When the partner state extension 600 includes theconserve power value for the conserve power bit 610, the networkswitching unit may determine that the activation request is notconfirmed during process 440. When the partner state extension 600includes the normal power value for the conserve power bit 610, thenetwork switching unit may determine that the activation request isconfirmed during process 440. At the process 470, the network switchingunit may activate the network link from use by the LAG by changing astate of the selected network link and/or the correspondingcommunication port from STANDBY to NORMAL.

According to some embodiments, the extension 600 to the actor andpartner state may be used in the method 500. At the process 510, thenetwork switching unit (i.e., the partner) may receive a LACPDU from theneighboring network switching unit (i.e., the actor) with the actorstate extension 600 containing the normal power value for the conservepower bit 610, thus making a link activation request. The networkswitching unit may respond to the link activation request by respondingwith a LACPDU containing a partner state extension 600. By sending theconserve power value as the conserve power bit 610, the networkswitching unit may deny the link activation request in process 530. Bysending the normal power value as the conserve power bit 610, thenetwork switching unit may confirm the link activation request inprocess 540. At the process 570, the network switching unit may activatethe network link from use by the LAG by changing a state of the selectednetwork link and/or the corresponding communication port from STANDBY toNORMAL.

Some embodiments of network switching units 110 and/or 120 may includenon-transient, tangible, machine readable media that include executablecode that when run by one or more processors may cause the one or moreprocessors to perform the processes of methods 200, 300, 400, and/or 500as described above. Some common forms of machine readable media that mayinclude the processes of methods 200, 300, 400, and/or 500 are, forexample, floppy disk, flexible disk, hard disk, magnetic tape, any othermagnetic medium, CD-ROM, any other optical medium, punch cards, papertape, any other physical medium with patterns of holes, RAM, PROM,EPROM, FLASH-EPROM, any other memory chip or cartridge, and/or any othermedium from which a processor or computer is adapted to read.

Although illustrative embodiments have been shown and described, a widerange of modification, change and substitution is contemplated in theforegoing disclosure and in some instances, some features of theembodiments may be employed without a corresponding use of otherfeatures. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications. Thus, the scope of theinvention should be limited only by the following claims, and it isappropriate that the claims be construed broadly and in a mannerconsistent with the scope of the embodiments disclosed herein.

What is claimed is:
 1. A method of reducing power consumption in anetwork switching unit, the method comprising: detecting whetherconditions are suitable for reducing power consumption in a firstnetwork switching unit, the first network switching unit including: alink aggregation group (LAG); and a plurality of communication ports,each communication port configured to couple the first network switchingunit to a second network switching unit using a corresponding networklink selected from a plurality of network links; wherein the pluralityof network links are assigned to the LAG; requesting network linkdeactivation by sending a link deactivation request to the secondnetwork switching unit; determining whether the link deactivationrequest is approved; determining a first network link selected from theplurality of network links to deactivate; deactivating the first networklink from use by the LAG; and reducing power supplied to the firstnetwork link.
 2. The method of claim 1, further comprising receiving aresponse from the second network switching unit.
 3. The method of claim1, further comprising reducing power to a first communication portselected from the plurality of communication ports and corresponding tothe first network link.
 4. The method of claim 3, further comprisingreducing power to circuitry associated with the first communication portand the first network link.
 5. The method of claim 1 wherein reducingpower supplied to the first network link comprises removing all powersupplied to the first network link.
 6. The method of claim 1 whereindetecting whether conditions are suitable for reducing power consumptioncomprises analyzing information associated with a utilization of theLAG.
 7. The method of claim 1 wherein detecting whether conditions aresuitable for reducing power consumption comprises analyzing informationassociated with a temperature of the first network switching unit. 8.The method of claim 1 wherein detecting whether conditions are suitablefor reducing power consumption comprises analyzing informationassociated with a time of day.
 9. The method of claim 1 whereindetermining a first network link comprises negotiating with the secondnetwork switching unit.
 10. The method of claim 1 wherein sending thelink deactivation request comprises sending a Link Aggregation ControlProtocol data unit (LACPDU) comprising a conserve power bit.
 11. Themethod of claim 10 wherein: the LACPDU includes an actor stateextension; and the actor state extension includes the conserve powerbit.
 12. The method of claim 1, further comprising: detecting whetherconditions for reducing power consumption have ended; requesting networklink activation by sending a link activation request to the secondnetwork switching unit; determining whether the link activation requestis approved; determining a second network link selected from theplurality of network links to activate; returning power to the secondnetwork link; and activating the second network link for use by the LAG.13. The method of claim 12 wherein detecting whether conditions forreducing power consumption have ended comprises analyzing informationassociated with a utilization of the LAG.
 14. The method of claim 12wherein detecting whether conditions for reducing power consumption haveended comprises analyzing information associated with a temperature ofthe first network switching unit.
 15. The method of claim 12 whereindetecting whether conditions for reducing power consumption have endedcomprises analyzing information associated with a time of day.
 16. Themethod of claim 12 wherein the first network link and the second networklink are the same.
 17. The method of claim 1, further comprising:receiving a link activation request; determining whether the linkactivation request is acceptable; in response to determining that thelink activation request is not acceptable, denying the link activationrequest; in response to determining that the link activation request isacceptable, confirming the link activation request; determining a secondnetwork link selected from the plurality of network links to activate;returning power to the second network link; and activating the secondnetwork link for use by the LAG.
 18. A method of reducing powerconsumption in a network switching unit, the method comprising:receiving a link deactivation request by a first network switching unitfrom a second network switching unit, the first network switching unitcomprising: a link aggregation group (LAG); and a plurality ofcommunication ports, each communication port configured to couple thefirst network switching unit to the second network switching unit usinga corresponding network link selected from a plurality of network links;wherein the plurality of network links are assigned to the LAG;determining whether the link deactivation request is acceptable; inresponse to determining that the link deactivation request is notacceptable, denying the link deactivation request; in response todetermining that the link deactivation request is acceptable, confirmingthe link deactivation request; determining a first network link selectedfrom the plurality of network links to deactivate; deactivating thefirst network link from use by the LAG; and reducing power supplied tothe first network link.
 19. The method of claim 18, further comprising:receiving a link activation request; determining whether the linkactivation request is acceptable; in response to determining that thelink activation request is not acceptable, denying the link activationrequest; in response to determining that the link activation request isacceptable, confirming the link activation request; determining a secondnetwork link selected from the plurality of network links to activate;returning power to the second network link; and activating the secondnetwork link for use by the LAG.
 20. An information handling systemcomprising: a first network switching unit comprising: a linkaggregation group (LAG); and a plurality of communication ports, eachcommunication port configured to couple the first network switching unitto a second network switching unit using a corresponding network linkselected from a plurality of network links; wherein the plurality ofnetwork links are assigned to the LAG; wherein the first networkswitching unit is configured to: detect whether conditions are suitablefor reducing power consumption; request network link deactivation bysending a link deactivation request to the second network switchingunit; determine whether the link deactivation request is approved;determine a first network link selected from the plurality of networklinks to deactivate; deactivate the first network link from use by theLAG; and reduce power supplied to the first network link.